package cn.e4j.modular.system.entity;

import cn.e4j.core.typewrap.PO;
import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 
 * </p>
 *
 * @author wenchuan.li
 * @since 2018-12-18
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("SYS_TASK")
public class SysTask extends PO<SysTask> {

    private static final long serialVersionUID = 1L;

    /**
     * 流水号
     */
    @TableField(fill = FieldFill.INSERT)
    @TableId(value = "ID", type = IdType.INPUT)
    private String ID;
    /**
     * 任务名
     */
    private String TASK_NAME;
    /**
     * 任务类
     */
    private String TASK_CLASS;
    /**
     * 定时规则
     */
    private String TASK_RULE;
    /**
     * 启用状态
     */
    private String TASK_STATUS;
    /**
     * 通知用户
     */
    private String TASK_USER;
    /**
     * 任务组
     */
    private String TASK_GROUP;
    /**
     * 描述
     */
    private String TASK_REMARK;
    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String CREATE_BY;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime CREATE_DATE;
    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String UPDATE_BY;
    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime UPDATE_DATE;
    /**
     * 自定义栏位1
     */
    private String TASK001;
    /**
     * 自定义栏位2
     */
    private String TASK002;
    /**
     * 自定义栏位3
     */
    private String TASK003;
    /**
     * 自定义栏位4
     */
    private Integer TASK004;
    /**
     * 自定义栏位5
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime TASK005;


    @Override
    protected Serializable pkVal() {
        return this.ID;
    }

}
